package com.sanshi.project.admin.api.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.github.yulichang.annotation.EntityMapping;
import java.util.List;

/**
 * 出入库申请单
 *
 * @author nikon
 * @date 2023-12-10 15:54:35
 */
@Data
@TableName("procure_apply")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "出入库申请单")
public class ProcureApplyEntity extends Model<ProcureApplyEntity> {


	/**
	* 主键
	*/
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description="主键")
    private Long id;

	/**
	* 申请单号
	*/
    @Schema(description="申请单号")
    private String code;

	/**
	* 出入库类型
	*/
    @Schema(description="出入库类型")
    private String inOrOut;

	/**
	* 入库/出库方式
	*/
    @Schema(description="入库/出库方式")
    private String inOrOutMethod;

	/**
	* 申请说明
	*/
    @Schema(description="申请说明")
    private String description;

	/**
	* 负责人
	*/
    @Schema(description="负责人")
    private Long chargePerson;

	/**
	* 状态
	*/
    @Schema(description="状态")
    private String status;

	/**
	* 备注
	*/
    @Schema(description="备注")
    private String remark;

	/**
	* 图片
	*/
    @Schema(description="图片")
    private String image;

	/**
	* 文件
	*/
    @Schema(description="文件")
    private String file;

	/**
	* 创建人
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建人")
    private String createBy;

	/**
	* 创建时间
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建时间")
    private LocalDateTime createTime;

	/**
	* 更新人
	*/
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description="更新人")
    private String updateBy;

	/**
	* 更新时间
	*/
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description="更新时间")
    private LocalDateTime updateTime;

	/**
	* 删除标记[0未删除，1已删]
	*/
    @TableLogic
		@TableField(fill = FieldFill.INSERT)
    @Schema(description="删除标记[0未删除，1已删]")
    private String delFlag;

	/**
	* 租户号
	*/
    @Schema(description="租户号")
    private Long tenantId;
    @ExcelIgnore
    @TableField(exist = false)
    @EntityMapping(thisField = "id", joinField = "applyId")
    private List<ProcureApplyDetailsEntity> procureApplyDetailsList;
}